在Power BI Desktop中繪製一個行事曆是相當相當的重要,建立這個行事曆可以讓之後在配合時間字彙函數來進行財務相關分析時,可以較精準。
但是此時如果你還是很堅持己見,就是不想建的時候,你就會發現你之後在使用時間字彙函數時就會跳出錯誤訊息,因為你在資料表內的日期是不連貫的,也就是其中有一天沒有任何紀錄,那麼日期就會斷掉,在使用時間字彙函數就會產生錯誤,由此可以得知建立行事曆的重要性。
而建立的方法相當簡單,網路上已經有相當多的現成程式碼可以使用,基本上是5秒鐘就可以建立好,那我們馬上進入正題
首先要使用的是DAX函示裡面Calendar方法,程式碼的公式如下:
CALENDAR (
MIN('銷售表名稱'[欄位名稱(型態為日期)]),
MAX('銷售表名稱'[欄位名稱(型態為日期)]))
而如果用我們昨天的範例來進行時做的話就會是:
CALENDAR (
MIN('銷售明細'[銷售日期]),
MAX('銷售明細'[銷售日期]))
那麼該將這段公式加在哪裡呢?首先要點選左側第二個的「資料」並點選「新增資料表」
接著在上方的公式欄位貼上並按下勾勾,就會產生這個行事曆了喔!稍微解釋一下為什麼是從2015/7/1號開始,因為這個行事曆是參照銷售明細內的銷售日期來排的,而在公式中可以看到MIN也就是最小值以及MAX最大值,也就是這個行事曆就是取這個銷售期間來排出這之中的每一天,以方便做日後的分析使用。
而其實這個行事曆可以在新增更多的時間維度,也就是年月日之類的資料,讓這個行事曆更加的完整,公式如下:
行事曆 =
ADDCOLUMNS(
CALENDAR(
MIN('銷售明細'[銷售日期]),
MAX('銷售明細'[銷售日期])),
"年度",YEAR([Date])&"年",
"季度","Q"&FORMAT([Date],"Q"),
"月",MONTH([Date])&"月",
"週",WEEKNUM([Date])&"週",
"年季",YEAR([Date])&"-"&"Q"&FORMAT([Date],"Q"),
"年月",YEAR([Date])&"-"&FORMAT(MONTH([Date] ),"00"),
"年週",YEAR([Date])&"-"&WEEKNUM([Date])&"週",
"星期",FORMAT([Date],"aaaa")
以上的公式一樣是適用於我的這個練習,若要複製的話記得改成你所屬的資料表名稱及欄位名稱喔,而第一行的ADDCOLUMNS就是要新增欄為的語法,而下面就可以看到新增了很多時間維度欄位~
那麼方法跟前面一樣,最後的結果如下(可按紅框處進行公式欄縮放)
以上說明完畢!感謝各位的觀看